package com.example.activitysign.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.activitysign.entity.ActivityTaskItem;
import com.example.activitysign.pages.PageResult;
import com.example.activitysign.pages.PageValidate;
import com.example.activitysign.validate.ActivityTaskItemCreateValidate;
import com.example.activitysign.validate.ActivityTaskItemSearchValidate;
import com.example.activitysign.validate.ActivityTaskItemUpdateValidate;
import com.example.activitysign.vo.activity.ActivityTaskItemDetailVo;
import com.example.activitysign.vo.activity.ActivityTaskItemListedVo;

/**
 * 任务列服务接口类
 *
 * @author fei
 */
public interface IActivityTaskItemService extends IService<ActivityTaskItem> {

    /**
     * 任务列列表
     *
     * @param pageValidate   分页参数
     * @param searchValidate 搜索参数
     * @return PageResult<ActivityTaskItemListedVo>
     * @author fei
     */
    PageResult<ActivityTaskItemListedVo> list(PageValidate pageValidate, ActivityTaskItemSearchValidate searchValidate);

    /**
     * 任务列详情
     *
     * @param id 主键ID
     * @return ActivityTaskItemDetailVo
     * @author fei
     */
    ActivityTaskItemDetailVo detail(Long id);

    /**
     * 任务列新增
     *
     * @param createValidate 参数
     * @author fei
     */
    void add(ActivityTaskItemCreateValidate createValidate);

    /**
     * 任务列编辑
     *
     * @param updateValidate 参数
     * @author fei
     */
    void edit(ActivityTaskItemUpdateValidate updateValidate);

    /**
     * 任务列删除
     *
     * @param id 主键ID
     * @author fei
     */
    void del(Long id);

}

